package com.example.myweb.Repository.JpaRepository;

import com.example.myweb.Domain.Entity.Comment;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;

public interface CommentRepository extends JpaRepository<Comment, Long> {

    // 根据内容类型、内容ID和父评论ID查找评论（用于获取一级评论）
//    Page<Comment> findByContentTypeAndContentIdAndParentCommentIdIsNull(
//            Comment.ContentType contentType,
//            Long contentId,
//            Pageable pageable
//    );
//    // --- 新增方法 ---
//    /**
//     * 根据内容类型和一批父评论ID，查找所有的子评论（二级回复）
//     * @param contentType 内容类型
//     * @param parentIds 父评论ID列表
//     * @return 相关的子评论列表
//     */
//    List<Comment> findByContentTypeAndParentCommentIdIn(Comment.ContentType contentType, List<Long> parentIds);


    /**
     * 分页查询指定内容下的一级评论 (parentCommentId is NULL)
     */
    Page<Comment> findByContentTypeAndContentIdAndParentCommentIdIsNull(
            Comment.ContentType contentType,
            Long contentId,
            Pageable pageable
    );

    /**
     * 一次性查询出一批一级评论下的所有二级回复
     * @param parentIds 一级评论的ID列表
     * @return 相关的二级回复列表
     */
    List<Comment> findByParentCommentIdIn(List<Long> parentIds);
}